﻿using BootstrapBlazor.Components;
using BPM.Web.Shared.Data;
using WebApiClientCore;
namespace BPM.Web.Shared.Service;

public interface ISysMenuService
{
    Task<List<AntDesignTreeNode>?> ChangeAsync(string application);
    Task<IEnumerable<MenuItem>> ChangeMenuAsync(string application);

    Task<QueryData<MenuOutput>> ListAsync(GetMenuListInput input);

    Task<bool> AddAsync(MenuOutput input);

    Task<bool> DeleteAsync(IEnumerable<MenuOutput> input);

    Task<SysMenu?> DetailAsync(QueryMenuInput input);

    Task<bool> EditAsync(MenuOutput input);

    Task<IEnumerable<CascaderItem>> GetCascaderMenusAsync(string? application);

    /// <summary>
    /// 获取当前用户所有菜单
    /// </summary>
    /// <returns></returns>
    Task<List<MenuItem>> GetCurrentUserMenusAsync(IEnumerable<AppOutput>? apps);
}

